---
title: Building blocks reference
description: Provides the definitions and usage of all building blocks available to Eureqa models.
---

# Building blocks reference {: #building-blocks-reference }

This page provides the definitions and usage of all building blocks available to Eureqa models. To access further information about building block configuration, click the **Documentation** link provided in any Eureqa model blueprint (found in the upper right corner of any building block under the **Advanced Tuning** tab).

##  Arithmetic {: #arithmetic }

|  Building Block  | Definition | Usage |
|----------------|-----------|--------|
| Addition | Returns the sum of `x` and `y`. | `x+y` or `add(x,y)`  |
| Constant | `c` is a real valued constant. | `c` |
| Division | Returns the quotient of `x` and `y`. `y` must be non-zero. | `x/y` or `div(x,y)` |
| Input Variable | `x` is a variable in your prepared dataset. | `x` |
| Integer Constant | `c` is an integer constant. | `c` |
| Multiplication | Returns the product of `x` and `y`. | `x*y` or `mul(x,y)` |
| Negation | Returns the inverse of `x`.  | `-x` |
| Subtraction | Returns the difference of `x` and `y`. | `x-y` or `sub(x,y)` |



## Exponential {: #exponential }

|  Building Block   | Definition | Usage |
|-------------------|--------------|-------|
| Exponential | Returns `e^x`. | `exp(x)` |
| Factorial | Returns the product of all positive integers from 1 to `x`. | `factorial(x)` or `x!` |
| Natural Logarithm | Returns the natural logarithm (base `e`) of `x`.                       | `log(x)` |
| Power | Returns `x` raised to the power of `y`. `x` and `y` can be any expression. | `x^y` or `pow(x,y)` |
| Square Root | Returns the square root of `x`. `x` must be positive.                  | `sqrt(x)` |



## Squashing functions {: #squashing-functions }

Squashing functions take a continuous input variable and map it to a constrained output range.

Recommended use: Depending on the shape of the particular squashing function, that function may be useful in identifying transition points in the data, and/or limiting the total impact of a particular term.


| Building Block | Definition | Usage |
|----------|-------------------|-------------|
| Complementary Error Function | `1.0 - erf(x)` where `erf(x)` is the integral of the normal distribution. Returns a value between 2 and 0. | `erfc(x)` |
| Error Function | Integral of the normal distribution. Returns a value between -1 and +1. | `erf(x)` |
| Gaussian Function | Returns `exp(-x^2)`. This is a bell-shaped squashing function. | `gauss(x)` |
| Hyperbolic Tangent | The hyperbolic tangent of `x`. Hyperbolic tangent is a common squashing function that returns a value between -1 and +1. | `tanh(x)` |
| Logistic Function | Returns `1/(1+exp(-x))`. This is a common sigmoid (s-shaped) squashing function that returns a value between 0 and 1. | `logistic(x)` |
| Step Function | Returns 1 if `x` is positive, 0 otherwise. | `step(x)` |
| Sign | Returns -1 if `x` is negative, +1 if `x` is positive, and 0 if `x` is zero. | `sgn(x)` |


## Comparison/Boolean functions {: #comparisonboolean-functions }

| Building Block | Definition | Usage |
|--------------------------|-----------------|-------|
| Equal To | Returns 1 if `x` is numerically equal to `y`, 0 otherwise. | `equal(x,y)` or `x=y` |
| Greater Than | Returns 1 if `x>y`, 0 otherwise. | `greater(x,y)` or `x>y` |
| Greater Than or Equal To | Returns 1 if `x>=y`, 0 otherwise. | `greater_or_equal(x,y)` or `x>=y` |
| If-Then-Else | Returns `y` if `x` is greater than 0, `z` otherwise. If `x` is `nan`, the function returns `z`. | `if(x,y,z)` |
| Less Than | Returns 1 if `x<y`, 0 otherwise. | `less(x,y)` or `x<y` |
| Less Than or Equal To | Returns 1 if `x<=y`, 0 otherwise.                                                     | `less_or_equal(x,y)` or `x<= y` |
| Logical And | Returns 1 if both `x` and `y` are greater than 0, 0 otherwise. | `and(x,y)` |
| Logical Exclusive Or | Returns 1 if `(x<=0 and y>0)` or `(x>0 and y<=0)`, 0 otherwise. | `xor(x,y)` |
| Logical Not | Returns 0 if `x` is greater than 0, 1 otherwise. | `not( x )` |
| Logical Or | Returns 1 if either `x` or `y` are greater than 0, 0 otherwise.                         | `or(x,y)` |


## Trigonometric functions {: #trigonometric-functions }

Trigonometric functions are functions of an angle; they relate the angles of a triangle to the length of its sides.

Recommended use: When modeling data from physical systems containing angles as inputs.

| Building Block | Definition |  Usage  |
|-------------------|----------------------|---------|
| Cosine | The standard trigonometric cosine function. The angle `(x)` is in radians.  | `cos(x)` |
| Hyperbolic Cosine | The standard trigonometric hyperbolic cosine function.                    | `cosh(x)` |
| Hyperbolic Sine | The standard trigonometric hyperbolic sine function.                      | `sinh(x)` |
| Sine | The standard trigonometric sine function. The angle `(x)` is in radians. | `sin(x)` |
| Tangent | The standard trigonometric tangent function. The angle `(x)` is in radians. | `tan(x)` |



##  Inverse trigonometric functions {: #inverse-trigonometric-functions }

| Building Block | Definition | Usage |
|------------------------|--------------------|------------|
| Arccosine | The standard trigonometric arccosine function. | `acos(x)` |
| Arcsine  | The standard trigonometric arcsine function. | `asin(x)`    |
| Arctangent  | The standard trigonometric arctangent function. | `atan(x)` |
| Inverse Hyperbolic Cosine | The standard inverse hyperbolic cosine function.             | `acosh(x)` |
| Inverse Hyperbolic Sine | The standard inverse hyperbolic sine function.               | `asinh(x)` |
| Inverse Hyperbolic Tangent | The standard inverse hyperbolic tangent function. | `atanh(x)` |
| Two-Argument Arctangent | The standard trigonometric two-argument arctangent function. | `atan2(y,x)` |


## Other functions {: #other-functions }

| Building Block | Definition  |  Usage   |
|----------------|--------------|----------|
| Absolute Value | Returns the positive value of `x`, without regard for its sign. | `abs(x)` |
| Ceiling | Returns the smallest integer not less than `x`. | `ceil(x)`  |
| Floor | Returns the largest integer not greater than `x`. | `floor(x)` |
| Maximum | Returns the maximum (signed) result of `x` and `y`. | `max(x,y)` |
| Minimum | Returns the minimum (signed) result of `x` and `y`. | `min(x,y)` |
| Modulo | Returns the remainder of `x/y`. | `mod(x,y)` |
| Round | Returns an integer of `x` rounded to the nearest integer. | `round(x)` |
